#include <stdio.h>
#include "kernel.h"

#include "ssh.h"
#include "windows.h"
#include "winsock.h"
/*#include "errno.h"*/

/* botch for UnixLib 3.8 - headers contradict themselvers */
/*#undef errno
volatile int errno;
*/
int WSAGetLastError(void)
{
	return errno;
}

int WSAAsyncSelect(SOCKET socket, HWND hWnd, unsigned int wMsg, long lEvent)
{
  int true=-1;
#if 0
  xsyslogf_irq(SYSLOG_FILE,LOG_DEBUG_HIGH,"Enabling handler for SSH socket %d\n",socket);
  if (event_register_handler(socket,sshinterface_handler))
    return SOCKET_ERROR;

  if (socket_ioctl(socket,FIOASYNC,&true) == EOF)
  {
    /*xsyslogf_irq(SYSLOG_FILE,LOG_CONNECTION,"WSAAsyncSelect: Set as async failed - error %X,%s\n",_inet_error.errnum,_inet_error.errmess);*/
    return SOCKET_ERROR;
  }

  if (socket_ioctl(socket,FIONBIO ,&true) == EOF)
  {
    /*xsyslogf_irq(SYSLOG_FILE,LOG_CONNECTION,"WSAAsyncSelect: Set as non-blocking failed - error %X,%s\n",_inet_error.errnum,_inet_error.errmess);*/
    return SOCKET_ERROR;
  }

  if (socket_setsockopt(socket,SOL_SOCKET,SO_KEEPALIVE,&true,4) == EOF)
  {
    xsyslogf_irq(SYSLOG_FILE,LOG_CONNECTION,"WSAAsyncSelect: Enable keepalive failed - error %X,%s\n",_inet_error.errnum,_inet_error.errmess);
    return SOCKET_ERROR;
  }
#else
  printf("Calling WSAAsyncSelect - don't\n");
#endif

  return 0;
}

int WSAStartup(int winsockVer, WSADATA *wsadata)
{
  /* don't need to init anything */
  wsadata->wVersion = winsockVer;

  return 0;
}
